home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / WINER.ZIP / CHAP8-1.BAS < prev    next >
BASIC Source File  |  1992-05-13  |  889b  |  42 lines

  1. '*********** CHAP8-1.BAS - simple bubble sort
  2.  
  3. 'Copyright (c) 1992 Ethan Winer
  4.  
  5. DEFINT A-Z
  6. DECLARE SUB BubbleSort (Array$())
  7.  
  8. CONST NumItems% = 20
  9. CONST False% = 0
  10. CONST True% = -1
  11.  
  12. DIM Array$(1 TO NumItems%)
  13. FOR X = 1 TO NumItems%
  14.   READ Array$(X)
  15. NEXT
  16.  
  17. CALL BubbleSort(Array$())
  18.  
  19. CLS
  20. FOR X = 1 TO NumItems%
  21.   PRINT Array$(X)
  22. NEXT
  23.  
  24. DATA Zorba, Cathy, Barbara, Kathy, Josephine
  25. DATA Joseph, Joe, Peter, Arnold, Glen
  26. DATA Ralph, Elli, Lucky, Rocky, Louis
  27. DATA Paula, Paul, Mary lou, Marilyn, Keith
  28.  
  29. SUB BubbleSort (Array$()) STATIC
  30.  
  31.   DO
  32.     OutOfOrder = False%                 'assume it's sorted
  33.     FOR X = 1 TO UBOUND(Array$) - 1
  34.       IF Array$(X) > Array$(X + 1) THEN
  35.         SWAP Array$(X), Array$(X + 1)   'if we had to swap
  36.         OutOfOrder% = True%             'we're not done yet
  37.       END IF
  38.     NEXT
  39.   LOOP WHILE OutOfOrder%
  40.  
  41. END SUB
  42.